home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
18
/
fpc103.zip
/
IBMCURSR.SEQ
< prev
next >
Wrap
Text File
|
1988-06-23
|
2KB
|
93 lines
\ IBMCURSR IBM Specific display Enhancements by Tom Zimmer
DECIMAL
CODE IBM-AT ( col row -- )
POP AX
POP DX
MOV DH, AL
XOR BH, BH
MOV AH, # 2
INT 16
NEXT C;
CODE IBM-AT? ( -- col row )
XOR BH, BH
MOV AH, # 3
INT 16
SUB AX, AX
MOV AL, DH
MOV DH, AH
2PUSH C;
CODE IBM-DARK ( -- )
MOV AX, # 2
INT 16
NEXT C;
CODE IBM--LINE ( -- )
PUSH BP
XOR BH, BH
MOV AH, # 3
INT 16 ( Read Cursor Position )
MOV CH, DH
XOR CL, CL ( Upper left corner )
MOV DX, # 24 256 * 79 + ( Lower right corner )
MOV BH, # 7
MOV AX, # 6 256 * 1 +
INT 16
POP BP
NEXT C;
: >IBM ( -- )
['] IBM-AT IS AT
['] IBM-DARK IS DARK
['] IBM--LINE IS -LINE ; >IBM
: CURSOR_POS_INIT ( --- )
IBM-AT? #LINE ! #OUT ! ;
' CURSOR_POS_INIT IS CURSORSET
\ Cursor shape control words by Tom Zimmer
CODE SET-CURSOR ( N1 --- )
POP CX
MOV AH, # 1
INT 16
NEXT C;
: GET-CURSOR ( --- SHAPE ) 0 1120 ( 460h ) @L ;
HEX
: CURSOR-OFF ( --- ) GET-CURSOR 2000 OR SET-CURSOR ;
: CURSOR-ON ( --- ) GET-CURSOR 0F0F AND SET-CURSOR ;
: *NORM-CURSOR ( --- ) ?VMODE 7 = IF 0C0D ELSE 0607 THEN
SET-CURSOR ;
DEFER NORM-CURSOR ' *NORM-CURSOR IS NORM-CURSOR
: *BIG-CURSOR ( --- ) ?VMODE 7 = IF 020B ELSE 0007 ( 0106 ) THEN
SET-CURSOR ;
DEFER BIG-CURSOR ' *BIG-CURSOR IS BIG-CURSOR
: *MED-CURSOR ( --- ) ?VMODE 7 = IF 0A0D ELSE 0507 THEN
SET-CURSOR ;
DEFER MED-CURSOR ' *MED-CURSOR IS MED-CURSOR
\ : SPLIT-CURSOR ( --- ) ?VMODE 7 = IF 0C01 ELSE 0701 THEN
\ SET-CURSOR ;
DECIMAL
DEFINED SRCON NIP
#IF
SRCON \ now default to source on for debugging
#THEN